Systems like mobile telephone systems may comprise a variety of databases of different types, which databases comprise data and may be queried by different query generating applications, such as by core applications in a core network or by third party applications. The database systems may then be divided into different levels or tiers, where there may be a data level, an application level and above this an enterprise level.
In this type of scenario the data may be scattered inside multiple separated subsystems or nodes. However, it may be difficult to define an enterprise wide business process which requires information spread in many such systems.
In such a system there is typically also one or more data storing applications in the application level, where each data storing application may be independent with its own databases to store specific data.
Often different teams develop these applications and so they end up selecting different methods to solve similar data management problems. One of the often-overlooked problems is the means to share processed data (i.e. information) across applications and to higher levels, such as to the enterprise tier.
Each data storing application typically stores data in its own database. The various schemes describing how the data and information is structured inside the database of each application is then typically known only to that application. Sharing of information between applications is basically achieved by sending information events between the applications through proprietary protocols or through standard protocols like SOAP.
Some problems with the above described scenario are
1. The information produced by one application is shared with other applications only through pre-defined protocols, either proprietary or standard protocols like SOAP. So there exists a tight coupling between applications which make changes expensive.
2. Sharing large-scale data is very difficult.
3. Since the data is moved from one database to another in a pre-defined time period, there will be a discrepancy between the actual data and the shared data.
There is therefore a need for improvement with regard to some or all of the above-mentioned problems.